package example2;

public class StaticProxy implements IHello {
	private IHello helloObject;

	public StaticProxy(IHello helloObject) {
		this.helloObject = helloObject;
	}

	public void hello(String name) {
		// 1 方法调用前处理逻辑
		System.out.println("hello method starts…"); // 日志服务
		// 2 方法调用
		helloObject.hello(name); // 执行业务逻辑
		// 3 方法调用后处理逻辑
		System.out.println("hello method ends…"); // 日志服务
	}

	public void hello2(String name) {
		System.out.println("hello2 method starts…"); // 日志服务
		helloObject.hello(name); // 执行业务逻辑
		System.out.println("hello2 method ends…"); // 日志服务
	}

	public void hello3(String name) {
		System.out.println("hello3 method starts…"); // 日志服务
		helloObject.hello(name); // 执行业务逻辑
		System.out.println("hello3 method ends…"); // 日志服务
	}
}
